
namespace ZR.Model.BaseManage.Dto
{
    /// <summary>
    /// 物料信息查询对象
    /// </summary>
    public class BaseMaterialQueryDto : PagerInfo 
    {
        /// <summary>
        /// 物料编号 
        /// </summary>
        public string MaterialCode { get; set; }
        /// <summary>
        /// 物料名称（中文） 
        /// </summary>
        public string MaterialChLan { get; set; }
        /// <summary>
        /// 物料名称（英文） 
        /// </summary>
        public string MaterialEngLan { get; set; }
        /// <summary>
        /// 物料类型 
        /// </summary>
        public string MaterialType { get; set; }
    }

    /// <summary>
    /// 物料信息输入输出对象
    /// </summary>
    public class BaseMaterialDto
    {
        /// <summary>
        /// 物料id 
        /// </summary>
        [Required(ErrorMessage = "物料id不能为空")]
        [ExcelColumn(Name = "物料id")]
        [ExcelColumnName("物料id")]
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料编号 
        /// </summary>
        [Required(ErrorMessage = "物料编号不能为空")]
        [ExcelColumn(Name = "物料编号")]
        [ExcelColumnName("物料编号")]
        public string MaterialCode { get; set; }

        /// <summary>
        /// 物料名称（中文） 
        /// </summary>
        [ExcelColumn(Name = "物料名称（中文）")]
        [ExcelColumnName("物料名称（中文）")]
        public string MaterialChLan { get; set; }

        /// <summary>
        /// 物料名称（英文） 
        /// </summary>
        [ExcelColumn(Name = "物料名称（英文）")]
        [ExcelColumnName("物料名称（英文）")]
        public string MaterialEngLan { get; set; }

        /// <summary>
        /// 物料类型 
        /// </summary>
        [Required(ErrorMessage = "物料类型不能为空")]
        [ExcelColumn(Name = "物料类型")]
        [ExcelColumnName("物料类型")]
        public string MaterialType { get; set; }

        /// <summary>
        /// 长(mm) 
        /// </summary>
        [ExcelColumn(Name = "长(mm)")]
        [ExcelColumnName("长(mm)")]
        public decimal MaterialLength { get; set; }

        /// <summary>
        /// 宽(mm) 
        /// </summary>
        [ExcelColumn(Name = "宽(mm)")]
        [ExcelColumnName("宽(mm)")]
        public decimal MaterialWidth { get; set; }

        /// <summary>
        /// 高(mm) 
        /// </summary>
        [ExcelColumn(Name = "高(mm)")]
        [ExcelColumnName("高(mm)")]
        public decimal MaterialHeight { get; set; }

        /// <summary>
        /// 设计重量 
        /// </summary>
        [ExcelColumn(Name = "设计重量")]
        [ExcelColumnName("设计重量")]
        public decimal MaterialWeightDesign { get; set; }

        /// <summary>
        /// 重量(kg) 
        /// </summary>
        [ExcelColumn(Name = "重量(kg)")]
        [ExcelColumnName("重量(kg)")]
        public decimal MaterialWeight { get; set; }

        /// <summary>
        /// 基本单位 
        /// </summary>
        [ExcelColumn(Name = "基本单位")]
        [ExcelColumnName("基本单位")]
        public string MaterialUnitBase { get; set; }

        /// <summary>
        /// 验证起始位 
        /// </summary>
        [Required(ErrorMessage = "验证起始位不能为空")]
        [ExcelColumn(Name = "验证起始位")]
        [ExcelColumnName("验证起始位")]
        public int VerifyStart { get; set; }

        /// <summary>
        /// 是否验证（0不验证 1验证） 
        /// </summary>
        [Required(ErrorMessage = "是否验证不能为空")]
        [ExcelColumn(Name = "是否验证（0不验证 1验证）")]
        [ExcelColumnName("是否验证（0不验证 1验证）")]
        public int VerifyState { get; set; }

        /// <summary>
        /// 验证号 
        /// </summary>
        [ExcelColumn(Name = "验证号")]
        [ExcelColumnName("验证号")]
        public string VerifyCode { get; set; }

        /// <summary>
        /// 操作指导路径 
        /// </summary>
        [ExcelColumn(Name = "操作指导路径")]
        [ExcelColumnName("操作指导路径")]
        [ExcelIgnore]
        public string FilePath { get; set; }

        /// <summary>
        /// 创建人 
        /// </summary>
        [ExcelColumn(Name = "创建人")]
        [ExcelColumnName("创建人")]
        public string CreateBy { get; set; }

        /// <summary>
        /// 创建时间 
        /// </summary>
        [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("创建时间")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 更新人 
        /// </summary>
        [ExcelColumn(Name = "更新人")]
        [ExcelColumnName("更新人")]
        public string UpdateBy { get; set; }

        /// <summary>
        /// 更新时间 
        /// </summary>
        [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("更新时间")]
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 备注 
        /// </summary>
        [ExcelColumn(Name = "备注")]
        [ExcelColumnName("备注")]
        public string Remark { get; set; }
    }

    /// <summary>
    /// 推送物料信息对象
    /// </summary>
    public class WmsMaterialDto
    {
        /// <summary>
        /// 物料编号 
        /// </summary>
        public string partCode { get; set; }

        /// <summary>
        /// 物料中文名称
        /// </summary>
        public string partDesc { get; set; }

        /// <summary>
        /// 物料英文名称 
        /// </summary>
        public string partDescEn { get; set; }

        /// <summary>
        /// 基本单位 
        /// </summary>
        public string unitBase { get; set; }

        /// <summary>
        /// 设计重量 
        /// </summary>
        public decimal weightDesign { get; set; }

        /// <summary>
        /// 重量(kg) 
        /// </summary>
        public decimal weight { get; set; }

        /// <summary>
        /// 长(mm) 
        /// </summary>
        public decimal length { get; set; }

        /// <summary>
        /// 宽(mm) 
        /// </summary>
        public decimal width { get; set; }

        /// <summary>
        /// 高(mm) 
        /// </summary>
        public decimal height { get; set; }
    }
}